import java.awt.event.*;
import javax.swing.JOptionPane;
import javax.swing.JMenuItem;
/**
 * Clase que controla las acciones del menú de control del panel.
 * Implementa un ActionListener.
 * @version 2
 */
public class WorldControlMenuListener implements ActionListener {
   private MyWorld world;
   /**
    * constructor
    * @param w 
    */
   public WorldControlMenuListener (MyWorld w){
      world = w;
   }
   /**
    * función que detecta una acción realizada, y actúa dependiendo de éste.
    * @param e evento.
    */
   public void actionPerformed(ActionEvent e) {
      JMenuItem menuItem = (JMenuItem)(e.getSource());
      String text = menuItem.getText();
      if (text.equals("Start"))   world.start();
      if (text.equals("Stop"))    world.stop();
      if (text.equals("Resume"))  world.resume();  // agregado
      if (text.equals("Gravity")) {
         String data = JOptionPane.showInputDialog("Enter Gravity [m/s^2]");
         world.setGravity(new Vector2D(0,Float.parseFloat(data)));
      }
      if (text.equals("Viscosity")) {
         String data = JOptionPane.showInputDialog("Enter Viscosity [kg/(sm)]");
         world.setViscosity(Float.parseFloat(data));
      }
      if (text.equals("Delta time")) {
         String data = JOptionPane.showInputDialog("Enter delta t [s]");
         world.setDelta_t(Float.parseFloat(data));
      }
      if (text.equals("Graphics Refresh time")) {
         String data = JOptionPane.showInputDialog("Enter refresh time [s]");
         world.setRefreshPeriod(Float.parseFloat(data));
      }
      if (!world.isRunning())  //agregado
         if (text.equals("Delete"))
         {
            // cambia el cursor a cruz e indica borrar al seleccionar el elemento.
            world.changeCursor(true);
            
         }
   }
}